#include <stdio.h>
#include <stdlib.h>
#include <sys/wait.h>

int main()
{
	pid_t pid;
	int estado=0;
	//Creación del proceso hijo
	pid = fork();
	switch ( pid )
	{
		case -1: exit(EXIT_FAILURE);
			break;
		case 0:
			//Codigo ejecutado por el proceso hijo
			printf("----------INFO HIJO--------\n");
			printf("PID->%d\n",getpid());
			printf("PID padre->%d\n",getppid());
			break;
		default:
			//Codigo ejecutado por el proceso padre
			printf("Esperando que finalice el proceso con PID %d...\n",pid);
			waitpid(pid, &estado, 0);
			printf("----------INFO PADRE-------\n");
			printf("PID->%d\n",getpid());
			printf("PID Padre->%d\n",getppid());
			printf("El proceso hijo ha finalizado con codigo %d\n",WEXITSTATUS(estado));
	}
	return 0;
}
